/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package org.hl7.v3;

import java.util.Arrays;
import java.util.Collections;
import java.util.List;

import org.eclipse.emf.common.util.Enumerator;

/**
 * <!-- begin-user-doc -->
 * A representation of the literals of the enumeration '<em><b>Act Class Root Member10</b></em>',
 * and utility methods for working with them.
 * <!-- end-user-doc -->
 * @see org.hl7.v3.V3Package#getActClassRootMember10()
 * @model extendedMetaData="name='ActClassRoot_._member_._10'"
 * @generated
 */
public enum ActClassRootMember10 implements Enumerator {
	/**
	 * The '<em><b>ACT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ACT_VALUE
	 * @generated
	 * @ordered
	 */
	ACT(0, "ACT", "ACT"),

	/**
	 * The '<em><b>SUBST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #SUBST_VALUE
	 * @generated
	 * @ordered
	 */
	SUBST(1, "SUBST", "SUBST"),

	/**
	 * The '<em><b>VERIF</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #VERIF_VALUE
	 * @generated
	 * @ordered
	 */
	VERIF(2, "VERIF", "VERIF"),

	/**
	 * The '<em><b>ACSN</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ACSN_VALUE
	 * @generated
	 * @ordered
	 */
	ACSN(3, "ACSN", "ACSN"),

	/**
	 * The '<em><b>ACCM</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ACCM_VALUE
	 * @generated
	 * @ordered
	 */
	ACCM(4, "ACCM", "ACCM"),

	/**
	 * The '<em><b>ACCT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ACCT_VALUE
	 * @generated
	 * @ordered
	 */
	ACCT(5, "ACCT", "ACCT"),

	/**
	 * The '<em><b>PCPR</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #PCPR_VALUE
	 * @generated
	 * @ordered
	 */
	PCPR(6, "PCPR", "PCPR"),

	/**
	 * The '<em><b>CTTEVENT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #CTTEVENT_VALUE
	 * @generated
	 * @ordered
	 */
	CTTEVENT(7, "CTTEVENT", "CTTEVENT"),

	/**
	 * The '<em><b>CONS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #CONS_VALUE
	 * @generated
	 * @ordered
	 */
	CONS(8, "CONS", "CONS"),

	/**
	 * The '<em><b>CONTREG</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #CONTREG_VALUE
	 * @generated
	 * @ordered
	 */
	CONTREG(9, "CONTREG", "CONTREG"),

	/**
	 * The '<em><b>DISPACT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #DISPACT_VALUE
	 * @generated
	 * @ordered
	 */
	DISPACT(10, "DISPACT", "DISPACT"),

	/**
	 * The '<em><b>ENC</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ENC_VALUE
	 * @generated
	 * @ordered
	 */
	ENC(11, "ENC", "ENC"),

	/**
	 * The '<em><b>ADJUD</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #ADJUD_VALUE
	 * @generated
	 * @ordered
	 */
	ADJUD(12, "ADJUD", "ADJUD"),

	/**
	 * The '<em><b>XACT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #XACT_VALUE
	 * @generated
	 * @ordered
	 */
	XACT(13, "XACT", "XACT"),

	/**
	 * The '<em><b>INC</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #INC_VALUE
	 * @generated
	 * @ordered
	 */
	INC(14, "INC", "INC"),

	/**
	 * The '<em><b>INFRM</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #INFRM_VALUE
	 * @generated
	 * @ordered
	 */
	INFRM(15, "INFRM", "INFRM"),

	/**
	 * The '<em><b>INVE</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #INVE_VALUE
	 * @generated
	 * @ordered
	 */
	INVE(16, "INVE", "INVE"),

	/**
	 * The '<em><b>MPROT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #MPROT_VALUE
	 * @generated
	 * @ordered
	 */
	MPROT(17, "MPROT", "MPROT"),

	/**
	 * The '<em><b>REG</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #REG_VALUE
	 * @generated
	 * @ordered
	 */
	REG(18, "REG", "REG"),

	/**
	 * The '<em><b>REV</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #REV_VALUE
	 * @generated
	 * @ordered
	 */
	REV(19, "REV", "REV"),

	/**
	 * The '<em><b>SPCTRT</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #SPCTRT_VALUE
	 * @generated
	 * @ordered
	 */
	SPCTRT(20, "SPCTRT", "SPCTRT"),

	/**
	 * The '<em><b>SBADM</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #SBADM_VALUE
	 * @generated
	 * @ordered
	 */
	SBADM(21, "SBADM", "SBADM"),

	/**
	 * The '<em><b>TRNS</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #TRNS_VALUE
	 * @generated
	 * @ordered
	 */
	TRNS(22, "TRNS", "TRNS"),

	/**
	 * The '<em><b>LIST</b></em>' literal object.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @see #LIST_VALUE
	 * @generated
	 * @ordered
	 */
	LIST(23, "LIST", "LIST");

	/**
	 * The '<em><b>ACT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ACT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ACT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ACT_VALUE = 0;

	/**
	 * The '<em><b>SUBST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>SUBST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #SUBST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int SUBST_VALUE = 1;

	/**
	 * The '<em><b>VERIF</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>VERIF</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #VERIF
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int VERIF_VALUE = 2;

	/**
	 * The '<em><b>ACSN</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ACSN</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ACSN
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ACSN_VALUE = 3;

	/**
	 * The '<em><b>ACCM</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ACCM</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ACCM
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ACCM_VALUE = 4;

	/**
	 * The '<em><b>ACCT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ACCT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ACCT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ACCT_VALUE = 5;

	/**
	 * The '<em><b>PCPR</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>PCPR</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #PCPR
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int PCPR_VALUE = 6;

	/**
	 * The '<em><b>CTTEVENT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>CTTEVENT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #CTTEVENT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int CTTEVENT_VALUE = 7;

	/**
	 * The '<em><b>CONS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>CONS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #CONS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int CONS_VALUE = 8;

	/**
	 * The '<em><b>CONTREG</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>CONTREG</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #CONTREG
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int CONTREG_VALUE = 9;

	/**
	 * The '<em><b>DISPACT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>DISPACT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #DISPACT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int DISPACT_VALUE = 10;

	/**
	 * The '<em><b>ENC</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ENC</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ENC
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ENC_VALUE = 11;

	/**
	 * The '<em><b>ADJUD</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>ADJUD</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #ADJUD
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int ADJUD_VALUE = 12;

	/**
	 * The '<em><b>XACT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>XACT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #XACT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int XACT_VALUE = 13;

	/**
	 * The '<em><b>INC</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>INC</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #INC
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int INC_VALUE = 14;

	/**
	 * The '<em><b>INFRM</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>INFRM</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #INFRM
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int INFRM_VALUE = 15;

	/**
	 * The '<em><b>INVE</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>INVE</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #INVE
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int INVE_VALUE = 16;

	/**
	 * The '<em><b>MPROT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>MPROT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #MPROT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int MPROT_VALUE = 17;

	/**
	 * The '<em><b>REG</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>REG</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #REG
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int REG_VALUE = 18;

	/**
	 * The '<em><b>REV</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>REV</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #REV
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int REV_VALUE = 19;

	/**
	 * The '<em><b>SPCTRT</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>SPCTRT</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #SPCTRT
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int SPCTRT_VALUE = 20;

	/**
	 * The '<em><b>SBADM</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>SBADM</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #SBADM
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int SBADM_VALUE = 21;

	/**
	 * The '<em><b>TRNS</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>TRNS</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #TRNS
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int TRNS_VALUE = 22;

	/**
	 * The '<em><b>LIST</b></em>' literal value.
	 * <!-- begin-user-doc -->
	 * <p>
	 * If the meaning of '<em><b>LIST</b></em>' literal object isn't clear,
	 * there really should be more of a description here...
	 * </p>
	 * <!-- end-user-doc -->
	 * @see #LIST
	 * @model
	 * @generated
	 * @ordered
	 */
	public static final int LIST_VALUE = 23;

	/**
	 * An array of all the '<em><b>Act Class Root Member10</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private static final ActClassRootMember10[] VALUES_ARRAY =
		new ActClassRootMember10[] {
			ACT,
			SUBST,
			VERIF,
			ACSN,
			ACCM,
			ACCT,
			PCPR,
			CTTEVENT,
			CONS,
			CONTREG,
			DISPACT,
			ENC,
			ADJUD,
			XACT,
			INC,
			INFRM,
			INVE,
			MPROT,
			REG,
			REV,
			SPCTRT,
			SBADM,
			TRNS,
			LIST,
		};

	/**
	 * A public read-only list of all the '<em><b>Act Class Root Member10</b></em>' enumerators.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static final List<ActClassRootMember10> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));

	/**
	 * Returns the '<em><b>Act Class Root Member10</b></em>' literal with the specified literal value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ActClassRootMember10 get(String literal) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			ActClassRootMember10 result = VALUES_ARRAY[i];
			if (result.toString().equals(literal)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Act Class Root Member10</b></em>' literal with the specified name.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ActClassRootMember10 getByName(String name) {
		for (int i = 0; i < VALUES_ARRAY.length; ++i) {
			ActClassRootMember10 result = VALUES_ARRAY[i];
			if (result.getName().equals(name)) {
				return result;
			}
		}
		return null;
	}

	/**
	 * Returns the '<em><b>Act Class Root Member10</b></em>' literal with the specified integer value.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public static ActClassRootMember10 get(int value) {
		switch (value) {
			case ACT_VALUE: return ACT;
			case SUBST_VALUE: return SUBST;
			case VERIF_VALUE: return VERIF;
			case ACSN_VALUE: return ACSN;
			case ACCM_VALUE: return ACCM;
			case ACCT_VALUE: return ACCT;
			case PCPR_VALUE: return PCPR;
			case CTTEVENT_VALUE: return CTTEVENT;
			case CONS_VALUE: return CONS;
			case CONTREG_VALUE: return CONTREG;
			case DISPACT_VALUE: return DISPACT;
			case ENC_VALUE: return ENC;
			case ADJUD_VALUE: return ADJUD;
			case XACT_VALUE: return XACT;
			case INC_VALUE: return INC;
			case INFRM_VALUE: return INFRM;
			case INVE_VALUE: return INVE;
			case MPROT_VALUE: return MPROT;
			case REG_VALUE: return REG;
			case REV_VALUE: return REV;
			case SPCTRT_VALUE: return SPCTRT;
			case SBADM_VALUE: return SBADM;
			case TRNS_VALUE: return TRNS;
			case LIST_VALUE: return LIST;
		}
		return null;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final int value;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String name;

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private final String literal;

	/**
	 * Only this class can construct instances.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	private ActClassRootMember10(int value, String name, String literal) {
		this.value = value;
		this.name = name;
		this.literal = literal;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public int getValue() {
	  return value;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getName() {
	  return name;
	}

	/**
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	public String getLiteral() {
	  return literal;
	}

	/**
	 * Returns the literal value of the enumerator, which is its string representation.
	 * <!-- begin-user-doc -->
	 * <!-- end-user-doc -->
	 * @generated
	 */
	@Override
	public String toString() {
		return literal;
	}
	
} //ActClassRootMember10
